package controllers;

import java.util.List;

import play.data.validation.Required;

import models.Role;
import models.RoleMenu;
import models.Symenu;

public class Symenus extends Application {
	
	public static void index(){
		List<Symenu> symenus  = Symenu.findParentPoint();
		render(symenus);
	}
	
	/**
	 * 管理员维护菜单，展示树表格
	 */
	public static void allMenu(){
		String menuJson = Symenu.allMenuJson(Symenu.findParentPoint());
		renderJSON(menuJson);
	}
	
	public static void save(Symenu symenu){
		symenu.save();
		ok();
	}
	
	public static void delete(long id){
		Symenu.findById(id)._delete();
		ok();
	}
	
	/**
	 * 用户登录后展示菜单
	 */
	public static void showMenuByUser(){
		renderJSON(Symenu.showMenuByUser(connectedUser()));
	}
	
	/**
	 * 通过role 获得树形菜单
	 * @param roleId
	 */
	public static void getMenuByRole(@Required Long roleId){
		Role r = Role.findById(roleId);
		String roleMenuJson = RoleMenu.getMenuJsonByRole(r);
		roleMenuJson =  "{\"Rows\":["+roleMenuJson+"]}";
		renderJSON(roleMenuJson);
	}

}
